package com.itheima.d1_collection_set;

/*
    目标：了解一下哈希值。
    Java中的所有对象，都可以调用Object类提供的hashCode方法，返回该对象自己的哈希值。
        public int hashCode(): 返回对象的哈希值。
    同一个对象多次调用hashCode()方法返回的哈希值是相同的。
    不同的对象，它们的哈希值一般不相同，但也有可能会相同(哈希碰撞)。
 */
public class SetTest2 {
    public static void main(String[] args) {
        Student s1 = new Student("希尔",23);
        Student s2 = new Student("布洛妮娅",24);
        int hash = s1.hashCode();
        int hash2 = s2.hashCode();
        //多次调用的哈希值不变 默认使用object中的hashcode方法，根据对象的地址判断
        System.out.println(hash);
        System.out.println(hash2);
        System.out.println(s1.hashCode());
        System.out.println(s2.hashCode());
        System.out.println("========================");
        //哈希碰撞 对像不同 哈希值可能相同
        String st1 = "通话";
        String st2 = "重地";
        System.out.println(st1.hashCode());
        System.out.println(st2.hashCode());
    }
}
